home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / system / ms_sh22b.zip / include / limits.h < prev    next >
C/C++ Source or Header  |  1993-12-01  |  4KB  |  120 lines

  1. /*
  2.  * Limiting values - Support for IBM C Set/2 and Microsoft C
  3.  */
  4.  
  5. #if !defined(_LIMITS_H) && !defined (__limits_h)
  6. #define __limits_h
  7. #define _LIMITS_H
  8.  
  9. #ifndef _CHAR_UNSIGNED
  10. #  define CHAR_MAX    127        /* maximum char value        */
  11. #  define CHAR_MIN    -127        /* mimimum char value        */
  12. #else
  13. #  define CHAR_MAX    255
  14. #  define CHAR_MIN    0
  15. #endif
  16.  
  17. #define SCHAR_MAX        127            /* maximum signed char value    */
  18. #define SCHAR_MIN       -127            /* minimum signed char value    */
  19. #define UCHAR_MAX        255            /* maximum unsigned char value    */
  20. #define CHAR_BIT         8              /* number of bits in a char    */
  21.  
  22. #define USHRT_MAX        0xffff         /* maximum unsigned short value */
  23. #define SHRT_MAX         32767          /* maximum (signed) short value */
  24. #define SHRT_MIN        -32767          /* minimum (signed) short value */
  25. #define SHRT_BIT         16        /* number of bits in a short    */
  26.  
  27. #if defined (MSDOS)
  28. #  define UINT_MAX    0xffff        /* maximum unsigned int value    */
  29. #  define INT_MAX    32767        /* maximum (signed) int value    */
  30. #  define INT_MIN    -32767        /* minimum (signed) int value    */
  31. #  define INT_BIT    16        /* number of bits in a int    */
  32. #else
  33. #  define UINT_MAX    0xffffffff    /* maximum unsigned int value    */
  34. #  define INT_MAX    2147483647    /* maximum (signed) int value    */
  35. #  define INT_MIN    -2147483647    /* minimum (signed) int value    */
  36. #  define INT_BIT    32        /* number of bits in a int    */
  37. #endif
  38.  
  39. #define ULONG_MAX        0xffffffff     /* maximum unsigned long value    */
  40. #define LONG_MAX         2147483647     /* maximum (signed) long value    */
  41. #define LONG_MIN        -2147483647     /* minimum (signed) long value    */
  42. #define LONG_BIT         32        /* number of bits in a long    */
  43.  
  44. #if defined (OS2) || defined (__OS2__)
  45. #  undef NAME_MAX
  46. #  undef PATH_MAX
  47. #  define NAME_MAX    256        /* Maximum file name length    */
  48. #  define PATH_MAX    256        /* Maximum path name length    */
  49. #elif defined (MSDOS)
  50. #  define NAME_MAX    13        /* Maximum file name length    */
  51. #  ifndef PATH_MAX
  52. #    define PATH_MAX    128        /* Maximum path name length    */
  53. #  endif
  54. #else
  55. #  define NAME_MAX    256        /* Maximum file name length    */
  56. #  define PATH_MAX    1024        /* Maximum path name length    */
  57. #endif
  58.  
  59. #define FCHR_MAX    
  60. #define LINK_MAX    32        /* Maximum number of links    */
  61. #define LOCK_MAX    0        /* Maximum number of locks    */
  62.  
  63. #ifndef SYS_OPEN
  64. #  ifdef MSDOS
  65. #    define SYS_OPEN    20        /* Max # of files open by system*/
  66. #  else
  67. #    define SYS_OPEN    64
  68. #  endif
  69. #endif
  70.  
  71. #ifndef OPEN_MAX
  72. #  define OPEN_MAX    20        /* Max # of files open by user    */
  73. #endif
  74.  
  75. #define STD_BLK        1024        /* Standard block size        */
  76. #define PIPE_MAX    5120        /* Maximum pipe size        */
  77. #define PIPE_BUF    PIPE_MAX
  78.  
  79. #ifndef TMP_MAX
  80. #define TMP_MAX        32767        /* Max # of tempory files    */
  81. #endif
  82.  
  83. #define PID_MAX        32000        /* Process id max        */
  84. #define PROC_MAX
  85. #define SYSPID_MAX    
  86. #define UID_MAX        30000
  87. #define MAX_CHAR
  88. #define PASS_MAX    8        /* MAX password length        */
  89. #define SYS_NMLN    9
  90. #define MAX_CANON    255
  91. #define MAX_INPUT    255
  92. #define ARG_MAX        2048
  93. #define CHILD_MAX    30000
  94.  
  95. #if !defined (CLK_TCK) && !defined (__OS2__) && !defined (__TURBOC__) && !defined (__WATCOMC__)
  96. #  define CLK_TCK    60
  97. #endif
  98.  
  99. #define NGROUPS_MAX    0        /* Max number of groups per p.    */
  100. #define MAX_GROUPS    100        /* Max users per group        */
  101.  
  102. #ifdef MSDOS
  103. #  define MB_LEN_MAX    1        /* Max # bytes in multibyte    */
  104.                     /* character            */
  105. #else
  106. #  define MB_LEN_MAX    2
  107. #endif
  108.  
  109. #define _POSIX_ARG_MAX        ARG_MAX
  110. #define _POSIX_CHILD_MAX    CHILD_MAX
  111. #define _POSIX_LINK_MAX        LINK_MAX
  112. #define _POSIX_MAX_CANON    MAX_CANON
  113. #define _POSIX_MAX_INPUT    MAX_INPUT
  114. #define _POSIX_NAME_MAX        14
  115. #define _POSIX_NGROUPS_MAX    NGROUPS_MAX
  116. #define _POSIX_OPEN_MAX        OPEN_MAX
  117. #define _POSIX_PATH_MAX        PATH_MAX
  118. #define _POSIX_PIPE_BUF        PIPE_BUF
  119. #endif
  120.